package com.itheima.lambda.test4;

import java.util.Random;

/*
1. 首先存在一个接口（RandomNumHandler）
2. 在该接口中存在一个抽象方法（getNumber），该方法是无参数但是有返回值
3. 在测试类（RandomNumHandlerDemo）中存在一个方法（useRandomNumHandler）
     方法的的参数是RandomNumHandler类型的
     在方法内部调用了RandomNumHandler的getNumber方法

 */
public class RandomNumHandlerDemo {

    public static void main(String[] args) {
        //匿名内部类的写法
        useRandomNumHandler(() -> {
            //获取随机数
            Random r = new Random();
            System.out.println("这里是匿名内部类在干活");
            return r.nextInt(100);
        });
        //使用lambda表达式
        useRandomNumHandler(()->{
            Random r = new Random();
            System.out.println("这里是lambda在干活");
            return r.nextInt(100);
        });

    }



    public static void useRandomNumHandler(RandomNumHandler handler){
            int number = handler.getNumber();
            System.out.println("获取到了随机数是:"+number);

    }

}
interface RandomNumHandler{

    int getNumber();
}